package com.atguigu.medical.realtime.util;

import org.apache.commons.pool2.impl.GenericObjectPoolConfig;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

/**
 * @Author lzc
 * @Date 2023/5/4 15:32
 */
public class RedisUtil {
    
    private static final JedisPool pool;
    
    static {
    
        GenericObjectPoolConfig config = new JedisPoolConfig();
        config.setMaxTotal(300);  // 最多提供 300 个连接
        config.setMaxIdle(10);  // 最多允许 2 个空闲连接
        config.setMinIdle(2); // 最少允许 2 个空闲连接
        config.setMaxWaitMillis(10 * 1000);  // 获取连接最多等到时间
        config.setTestOnCreate(true);
        config.setTestOnBorrow(true);
        config.setTestOnReturn(true);
        
        pool = new JedisPool(config, "hadoop162", 6379);
    }
    public static Jedis getRedisClient(){
        // 1. 直接 new
        // 2. 使用连接池
    
        
        Jedis jedis = pool.getResource();
        jedis.select(4);  // 选择单独的库
        return jedis;
    }
}
